Skip to content

docs(evaluator): add agent (task-driven) evaluation guide - #710

Merged
SandyChapman merged 1 commit into
mainfrom
agent-eval-docs/schapman
Jul 16, 2026
Merged

docs(evaluator): add agent (task-driven) evaluation guide#710
SandyChapman merged 1 commit into
mainfrom
agent-eval-docs/schapman

Conversation

@SandyChapman

@SandyChapman SandyChapman commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

What

Adds documentation for agent (task-driven) evaluation in NeMo Evaluator, plus a conceptual
overview that frames it against the existing dataset-driven (metrics) path, and wires everything into
the Fern nav under a renamed Evaluate Models & Agents section.

New pages:

Page Purpose
evaluation-approaches Dataset-driven vs task-driven evaluation, and how to choose
agent-eval/index The model: task → runner → trial → metrics → result
agent-eval/quickstart Runnable, zero-dependency local example
agent-eval/evaluate-deployed-agent A GenericAgent over HTTP
agent-eval/harbor-runner Harbor task suites in Docker
agent-eval/score-by-component A trajectory metric plus views
agent-eval/targets-and-runners Reference: what a run can point at
agent-eval/writing-metrics Reference: the Metric protocol
agent-eval/reading-results Reference: the result object and on-disk bundle

Also refreshes evaluator/index to drop the removed industry-benchmark framing and point at the two
evaluation shapes. The evaluate-models section slug is pinned so existing
/documentation/evaluate-models/... links keep resolving despite the title change.

Validation

The three offline, zero-dependency full scripts were extracted verbatim from the pages and executed
against the SDK; each reproduces its documented output:

  • quickstartkeyword_match.score: 1.0
  • evaluate-deployed-agentkeyword_match.score: 1.0 + capital-france: 'Paris' / capital-japan: 'Tokyo'
  • score-by-componentkeyword_match.score: 1.0 / used_expected_tool.tool_use: 0.5 / view.quality: 0.75

Review fixes folded in

  • HTTP target auth: use api_key_secret (a real, settable field) — api_key_env is a derived
    read-only property and would raise ValidationError under extra="forbid".
  • Model format: documented as ModelFormat members (serialized nim / openai / llama_stack),
    not the invalid nvidia_nim / open_ai strings.
  • ATIF spelled out on first use per page, linked to the trajectory-format RFC.
  • run_verifier(command) (was cmd); metric examples read the reference defensively via .get(...);
    reading-results notes the write_dashboard flag.

Notes

  • Docs-only; no code changes.
  • The internal AGENT-EVAL-DOCS-UX-FINDINGS.md triage log is intentionally not included.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features
    • Added end-to-end documentation for agent evaluation, including an overview, quickstart, and runnable examples.
    • Added guides for evaluating deployed HTTP-based agents and Harbor task suites.
    • Introduced component-based scoring (“score by component”) and guidance for writing custom metrics.
  • Documentation
    • Documented evaluation targets/runners and how to read run results (artifacts, summaries, and dashboards).
    • Updated the evaluation landing page copy and navigation to “Evaluate Models & Agents,” including an Agent Evaluation section.

@SandyChapman
SandyChapman requested review from a team as code owners July 15, 2026 19:55
@github-actions github-actions Bot added the docs label Jul 15, 2026
@github-actions

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor
Suite Lines Covered Line Rate Branch Rate
Unit Tests 25521/32723 78.0% 62.6%
Integration Tests 14715/31372 46.9% 19.2%

@coderabbitai

coderabbitai Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 4858717f-5c1e-464a-9ebb-ed2b96ae7f49

📥 Commits

Reviewing files that changed from the base of the PR and between 767dc02 and 1daefb3.

📒 Files selected for processing (11)
  • docs/evaluator/agent-eval/evaluate-deployed-agent.mdx
  • docs/evaluator/agent-eval/harbor-runner.mdx
  • docs/evaluator/agent-eval/index.mdx
  • docs/evaluator/agent-eval/quickstart.mdx
  • docs/evaluator/agent-eval/reading-results.mdx
  • docs/evaluator/agent-eval/score-by-component.mdx
  • docs/evaluator/agent-eval/targets-and-runners.mdx
  • docs/evaluator/agent-eval/writing-metrics.mdx
  • docs/evaluator/evaluation-approaches.mdx
  • docs/evaluator/index.mdx
  • docs/fern/versions/latest.yml
🚧 Files skipped from review as they are similar to previous changes (9)
  • docs/fern/versions/latest.yml
  • docs/evaluator/agent-eval/reading-results.mdx
  • docs/evaluator/agent-eval/harbor-runner.mdx
  • docs/evaluator/index.mdx
  • docs/evaluator/agent-eval/writing-metrics.mdx
  • docs/evaluator/evaluation-approaches.mdx
  • docs/evaluator/agent-eval/quickstart.mdx
  • docs/evaluator/agent-eval/evaluate-deployed-agent.mdx
  • docs/evaluator/agent-eval/index.mdx

📝 Walkthrough

Walkthrough

Adds Agent Evaluation documentation covering concepts, quickstart usage, HTTP and Harbor targets, metric authoring, trajectory scoring, result artifacts, and evaluator navigation.

Changes

Evaluation foundation

Layer / File(s) Summary
Evaluation concepts and navigation
docs/evaluator/evaluation-approaches.mdx, docs/evaluator/index.mdx, docs/evaluator/agent-eval/index.mdx, docs/fern/versions/latest.yml
Defines dataset-driven and task-driven evaluation, introduces the agent-evaluation workflow, and adds documentation navigation.

Metric contract and local quickstart

Layer / File(s) Summary
Metric contract and local quickstart
docs/evaluator/agent-eval/writing-metrics.mdx, docs/evaluator/agent-eval/quickstart.mdx, docs/evaluator/agent-eval/reading-results.mdx
Documents metric protocols, local callable-agent evaluation, task definitions, result summaries, and run-bundle artifacts.

Targets and deployed HTTP agents

Layer / File(s) Summary
Targets, runners, and deployed HTTP agents
docs/evaluator/agent-eval/targets-and-runners.mdx, docs/evaluator/agent-eval/evaluate-deployed-agent.mdx
Describes model, HTTP-agent, and runner targets, then demonstrates evaluating a GenericAgent over HTTP with a local stand-in server.

Component scoring

Layer / File(s) Summary
Component and trajectory scoring
docs/evaluator/agent-eval/score-by-component.mdx
Adds outcome and tool-use metrics, ATIF trajectory evidence, semantic score views, and a runnable example.

Harbor evaluation

Layer / File(s) Summary
Harbor task-suite evaluation
docs/evaluator/agent-eval/harbor-runner.mdx
Documents Harbor dataset discovery, agent selection, execution controls, reward propagation, job caching, and run_harbor_eval.

Possibly related PRs

Suggested labels: docs

Suggested reviewers: arpitsardhana, ngoncharenko

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: new documentation for task-driven agent evaluation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch agent-eval-docs/schapman

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/evaluator/agent-eval/targets-and-runners.mdx`:
- Around line 54-72: The agent field documentation is incomplete for both
GenericAgent and NemoAgentToolkitAgent. Update the GenericAgent table to include
inherited name and format fields, and add a field table for
NemoAgentToolkitAgent covering format and nat, using the existing
field-description conventions.

In `@docs/fern/versions/latest.yml`:
- Around line 325-336: Remove the four agent-eval page entries—Evaluate a
Deployed Agent over HTTP, Evaluate a Harbor Task Suite, Score by Component, and
Targets and Runners—from the latest-version navigation, while retaining them in
the gated navigation configuration.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 9695657a-8c9f-4006-a78b-067e35434cbf

📥 Commits

Reviewing files that changed from the base of the PR and between 3067ee9 and 6904e01.

📒 Files selected for processing (11)
  • docs/evaluator/agent-eval/evaluate-deployed-agent.mdx
  • docs/evaluator/agent-eval/harbor-runner.mdx
  • docs/evaluator/agent-eval/index.mdx
  • docs/evaluator/agent-eval/quickstart.mdx
  • docs/evaluator/agent-eval/reading-results.mdx
  • docs/evaluator/agent-eval/score-by-component.mdx
  • docs/evaluator/agent-eval/targets-and-runners.mdx
  • docs/evaluator/agent-eval/writing-metrics.mdx
  • docs/evaluator/evaluation-approaches.mdx
  • docs/evaluator/index.mdx
  • docs/fern/versions/latest.yml

Comment thread docs/evaluator/agent-eval/targets-and-runners.mdx
Comment thread docs/fern/versions/latest.yml
@gabwow

gabwow commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

@SandyChapman this ties into what I asked about in standup, so apologies that this is a bit repetitive, but I think the docs are a little confusing that they're tied to the sdk layer. For example, I don't follow how to run evals on k8s deployments from this as the quickstart is a local python script.

Comment thread docs/evaluator/evaluation-approaches.mdx
Comment thread docs/evaluator/evaluation-approaches.mdx Outdated
Comment thread docs/evaluator/evaluation-approaches.mdx Outdated
Comment thread docs/evaluator/evaluation-approaches.mdx Outdated
Comment thread docs/evaluator/evaluation-approaches.mdx Outdated
Comment thread docs/evaluator/agent-eval/index.mdx Outdated
Comment thread docs/evaluator/agent-eval/index.mdx Outdated
Comment thread docs/evaluator/agent-eval/index.mdx Outdated
@SandyChapman
SandyChapman disabled auto-merge July 16, 2026 11:12
@SandyChapman
SandyChapman force-pushed the agent-eval-docs/schapman branch from 046e565 to f6372b7 Compare July 16, 2026 11:27

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/evaluator/agent-eval/score-by-component.mdx`:
- Around line 121-124: Align the guessing example with its emitted trace by
consistently describing the response as using the “guess” tool, or remove that
tool call from the trace. Apply the correction in
docs/evaluator/agent-eval/score-by-component.mdx at lines 121-124, 87-89,
188-191, and 295-301, updating the inline comment, narrative, result
interpretation, and full script consistently.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 64b90bef-7ce8-4a28-ac85-d3d8e4c500aa

📥 Commits

Reviewing files that changed from the base of the PR and between 046e565 and f6372b7.

📒 Files selected for processing (11)
  • docs/evaluator/agent-eval/evaluate-deployed-agent.mdx
  • docs/evaluator/agent-eval/harbor-runner.mdx
  • docs/evaluator/agent-eval/index.mdx
  • docs/evaluator/agent-eval/quickstart.mdx
  • docs/evaluator/agent-eval/reading-results.mdx
  • docs/evaluator/agent-eval/score-by-component.mdx
  • docs/evaluator/agent-eval/targets-and-runners.mdx
  • docs/evaluator/agent-eval/writing-metrics.mdx
  • docs/evaluator/evaluation-approaches.mdx
  • docs/evaluator/index.mdx
  • docs/fern/versions/latest.yml
🚧 Files skipped from review as they are similar to previous changes (8)
  • docs/evaluator/agent-eval/reading-results.mdx
  • docs/evaluator/agent-eval/writing-metrics.mdx
  • docs/evaluator/evaluation-approaches.mdx
  • docs/evaluator/agent-eval/evaluate-deployed-agent.mdx
  • docs/fern/versions/latest.yml
  • docs/evaluator/agent-eval/index.mdx
  • docs/evaluator/agent-eval/harbor-runner.mdx
  • docs/evaluator/agent-eval/quickstart.mdx

Comment thread docs/evaluator/agent-eval/score-by-component.mdx Outdated
@SandyChapman
SandyChapman force-pushed the agent-eval-docs/schapman branch from f6372b7 to 767dc02 Compare July 16, 2026 12:33

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/evaluator/agent-eval/quickstart.mdx`:
- Around line 58-62: Update the AgentEvalTask documentation to clarify that
in-process callable agents receiving the full task object can access the
grader-only reference; either explicitly state that such callbacks are trusted
or describe the sanitized task object they receive. Keep the existing
explanation of what external agents see unchanged.

In `@docs/evaluator/agent-eval/score-by-component.mdx`:
- Around line 85-89: Update the documentation paragraph around the deployed
agent and Harbor references to remove the claim that real runners emit traces
automatically. Clarify that the endpoint must return trajectory evidence, such
as by setting trajectory_path for HTTP targets, while Harbor is reward-based
rather than trace-based; preserve the local callable and TrialDraft explanation.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 771b6c80-9866-4abc-a84b-836140127c15

📥 Commits

Reviewing files that changed from the base of the PR and between f6372b7 and 767dc02.

📒 Files selected for processing (11)
  • docs/evaluator/agent-eval/evaluate-deployed-agent.mdx
  • docs/evaluator/agent-eval/harbor-runner.mdx
  • docs/evaluator/agent-eval/index.mdx
  • docs/evaluator/agent-eval/quickstart.mdx
  • docs/evaluator/agent-eval/reading-results.mdx
  • docs/evaluator/agent-eval/score-by-component.mdx
  • docs/evaluator/agent-eval/targets-and-runners.mdx
  • docs/evaluator/agent-eval/writing-metrics.mdx
  • docs/evaluator/evaluation-approaches.mdx
  • docs/evaluator/index.mdx
  • docs/fern/versions/latest.yml
🚧 Files skipped from review as they are similar to previous changes (9)
  • docs/evaluator/agent-eval/reading-results.mdx
  • docs/evaluator/agent-eval/writing-metrics.mdx
  • docs/evaluator/evaluation-approaches.mdx
  • docs/evaluator/agent-eval/evaluate-deployed-agent.mdx
  • docs/evaluator/agent-eval/index.mdx
  • docs/evaluator/agent-eval/harbor-runner.mdx
  • docs/fern/versions/latest.yml
  • docs/evaluator/index.mdx
  • docs/evaluator/agent-eval/targets-and-runners.mdx

Comment thread docs/evaluator/agent-eval/quickstart.mdx
Comment thread docs/evaluator/agent-eval/score-by-component.mdx Outdated
Add an "Agent Evaluation" section under Evaluate Models & Agents, plus a
"Dataset-Driven vs Task-Driven Evaluation" overview, and wire both into the
Fern nav:

- evaluation-approaches: dataset-driven vs task-driven, and how to choose
- agent-eval/index: the task -> runner -> trial -> metrics -> result model
- agent-eval/quickstart: runnable, zero-dependency local example
- agent-eval/evaluate-deployed-agent: a GenericAgent over HTTP
- agent-eval/harbor-runner: Harbor task suites in Docker
- agent-eval/score-by-component: a trajectory metric plus views
- agent-eval/targets-and-runners, writing-metrics, reading-results: reference

Also refresh evaluator/index to drop the removed industry-benchmark framing
and point at the two evaluation shapes.

Validated end to end: the quickstart, deployed-agent, and score-by-component
full scripts each reproduce their documented output against the SDK. HTTP
targets authenticate via api_key_secret (the api_key_env field does not
exist); Model format values are documented as ModelFormat members; and
ATIF is expanded on first use with a link to the trajectory-format RFC.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Sandy Chapman <schapman@nvidia.com>
@SandyChapman
SandyChapman force-pushed the agent-eval-docs/schapman branch from 767dc02 to 1daefb3 Compare July 16, 2026 12:47
@SandyChapman
SandyChapman enabled auto-merge July 16, 2026 12:49
@SandyChapman
SandyChapman added this pull request to the merge queue Jul 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants